国产精品单位女同事在线,婷婷六月久久综合丁香一二,成年大片免费播放视频人,日韩一区精品视频在线看

 
技術(shù)博客INFO
聯(lián)系我們CONTACT

公司地址:茂名市人民南路新村大院22號(hào)101

電話:13592986386

sql server 2008 r2如何收縮數(shù)據(jù)庫(kù)和文件您當(dāng)前的位置:首頁(yè) > sql server 2008 r2如何收縮數(shù)據(jù)庫(kù)和文件

sql server 2008 r2如何收縮數(shù)據(jù)庫(kù)和文件

發(fā)布時(shí)間:2016/11/3 10:54:05

1、右擊數(shù)據(jù)庫(kù)選擇,打開(kāi)Files窗口

2、Files窗口,F(xiàn)ile type 選擇 Log,單擊OK完成日志收縮。

按以上方法操作沒(méi)有效果,原因是數(shù)據(jù)庫(kù)的恢復(fù)模式不是簡(jiǎn)單模式,只需要將恢復(fù)模式改為簡(jiǎn)單模式即可用以上操作來(lái)收縮日志,方便又好用。

將數(shù)據(jù)庫(kù)恢復(fù)模式改為簡(jiǎn)單模式方法:
1、右擊數(shù)據(jù)庫(kù)選擇屬性,彈出窗口如下圖,選擇Options選項(xiàng),將 Recovery Model 改為 Simple 即可。

按如下方法操作也可收縮日志:

1、當(dāng)數(shù)據(jù)庫(kù)恢復(fù)模式為簡(jiǎn)單時(shí)。使用dbcc shrinkfile (logfile_name,target_size)命令來(lái)完成。如

use mydb
dbcc shrinkfile (mydb_log,10) --將mydb_log收縮至10m

2、當(dāng)數(shù)據(jù)庫(kù)恢復(fù)模式為完全時(shí)?梢韵葘(shù)據(jù)庫(kù)模式改為簡(jiǎn)單模式,再使用上述方法來(lái)進(jìn)行。

use master
alter database mydb set recovery simple
dbcc shrinkfile (mydb_log,10) --將mydb_log收縮至10m

也可以直接備份事務(wù)日志文件后再收縮:

use master
backup log mydb to disk='d:/dd.bak'
use mydb
dbcc shrinkfile (mydb_log,10) --將mydb_log收縮至10m;

3、通過(guò)分離數(shù)據(jù)庫(kù),然后再刪除事務(wù)日志文件,再附加mdf數(shù)據(jù)文件,也可以達(dá)到某種意義上的事務(wù)日志收縮。

以下是有關(guān)日志文摘

對(duì)于每一個(gè)數(shù)據(jù)庫(kù)來(lái)講,都需要至少一個(gè)事務(wù)日志文件。事務(wù)日志文件是整個(gè)數(shù)據(jù)庫(kù)的血液,如果沒(méi)有事務(wù)日志的話,那么將無(wú)法進(jìn)行任何操作。
事務(wù)日志有什么東西?
事務(wù)日志記錄著在相關(guān)數(shù)據(jù)庫(kù)上的操作,同時(shí)還存儲(chǔ)數(shù)據(jù)庫(kù)恢復(fù)(recovery)的相關(guān)信息。

事務(wù)日志與數(shù)據(jù)庫(kù)恢復(fù)(recovery)是密切相關(guān)的,其實(shí)數(shù)據(jù)庫(kù)在啟動(dòng)時(shí),便會(huì)進(jìn)行相關(guān)的恢復(fù)(recovery)操作,如下所示。當(dāng)然,在數(shù)據(jù)庫(kù)還原時(shí),也可以指定手工恢復(fù)(recovery).任何在數(shù)據(jù)庫(kù)上的改變,如果在事務(wù)日志內(nèi)被標(biāo)記為已提交,并用一個(gè)LSN(LOG SEQUENCE NUMBER)來(lái)標(biāo)識(shí),同時(shí)相關(guān)改變就會(huì)體現(xiàn)在數(shù)據(jù)文件上,而被標(biāo)記為未提交的改變將不會(huì)體現(xiàn)在數(shù)據(jù)文件上。

2010-01-12 18:31:48.72 spid7s Recovery is complete. This is an informationa message only. No user action is required.

事務(wù)日志文件還存儲(chǔ)著數(shù)據(jù)庫(kù)需要回滾的相關(guān)信息。在SQL Server數(shù)據(jù)庫(kù)上,默認(rèn)是隱式提交的,也就是說(shuō)在查詢分析器里面進(jìn)行的每一個(gè)操作,在操作完成后,都是默認(rèn)已經(jīng)commit,但如果通過(guò)指定begin tran 和rollback tran的命令來(lái)標(biāo)識(shí)事務(wù)時(shí),rollback tran就需要使用事務(wù)日志內(nèi)的相關(guān)信息才可以回滾。當(dāng)然,如果SQL Server遇到相關(guān)錯(cuò)誤時(shí),如死鎖,那么也會(huì)產(chǎn)生一個(gè)內(nèi)部回滾,這些都需要用到事務(wù)日志文件。
為什么要收縮事務(wù)日志?

收縮日志的原因有很多種,有些則是考慮空間不足,有些則是應(yīng)用程序限制導(dǎo)致的,一般情況下,是不建議對(duì)事務(wù)日志進(jìn)行其他改變的,如需要控制事務(wù)日志的大小,則可以通過(guò)安排事務(wù)日志備份來(lái)解決。如果確定事務(wù)日志包含將不再使用的未使用空間,則可以通過(guò)減少事務(wù)日志的大小,以便回收過(guò)多空間。但這種情況對(duì)于一個(gè)DBA來(lái)講,應(yīng)該要盡量避免。

僅當(dāng)數(shù)據(jù)庫(kù)處于聯(lián)機(jī)狀態(tài),而且至少一個(gè)虛擬日志文件可用時(shí),收縮才會(huì)發(fā)生。在某些情況下,直到下一個(gè)日志截?cái)嗪,才能收縮日志。

事務(wù)日志收縮的原理:
每個(gè)事務(wù)日志由多個(gè)虛擬日志文件組成(virtual log file).虛擬日志文件沒(méi)有固定的大小,也沒(méi)有固定的個(gè)數(shù)。在創(chuàng)建事務(wù)日志文件或者擴(kuò)展事務(wù)日志文件時(shí),SQL SERVER便會(huì)自動(dòng)創(chuàng)建合適大小的虛擬日志文件,DBA無(wú)法控制虛擬日志文件的大小和個(gè)數(shù)。在擴(kuò)展日志文件后,虛擬文件的大小是現(xiàn)有日志大小和新文件增量大小之和。因此,如果在創(chuàng)建數(shù)據(jù)庫(kù)時(shí),對(duì)數(shù)據(jù)庫(kù)指定了比較小的初始大小,又指定了比較小的日志增長(zhǎng)量,隨著事務(wù)日志的自動(dòng)擴(kuò)展,虛擬日志文件個(gè)數(shù)會(huì)越來(lái)越多,從而影響了數(shù)據(jù)庫(kù)性能。因此,在創(chuàng)建數(shù)據(jù)庫(kù)時(shí),盡量指定比較合適的初始事務(wù)日志大小,同時(shí)指定合理的事務(wù)日志增長(zhǎng)量,這點(diǎn)可以參考數(shù)據(jù)文件的標(biāo)準(zhǔn)。如果大于10G或者更大的話,則指定固定的增長(zhǎng)量,如果比較小,則指定按百分比的增長(zhǎng)量來(lái)進(jìn)行。